Abstract: An autonomous car is a self-driving vehicle that has the capability to perceive the surrounding environment and navigate itself without human intervention. For autonomous driving, complex autonomous driving algorithms, including perception, localization, planning, and control, are required with many heterogeneous sensors, actuators, and computers. To manage the complexity of the driving algorithms and the heterogeneity of the system components, this paper applies distributed system architecture to the autonomous driving system, and proposes a development process and a system platform for the distributed system of an autonomous car. The development process provides the guidelines to design and develop the distributed system of an autonomous vehicle. For the heterogeneous computing system of the distributed system, a system platform is presented, which provides a common development environment by minimizing the dependence between the software and the computing hardware. A time-triggered network protocol, Flex Ray, is applied as the main network of the software platform to improve the network bandwidth, fault tolerance, and system performance.

Keywords: localization, planning, control, driving algorithms, Flex Ray, network protocol.